<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenLoong Dynamics Control: MJ_Interface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenLoong Dynamics Control
   &#160;<span id="projectnumber">v0.1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classMJ__Interface-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">MJ_Interface Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Mujoco interface controls the interaction between motion controller and mujoco simulation.  
 <a href="classMJ__Interface.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="MJ__interface_8h_source.html">MJ_interface.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8673f6877a73148a67de90726d77e01a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a8673f6877a73148a67de90726d77e01a">MJ_Interface</a> (mjModel *mj_modelIn, mjData *mj_dataIn)</td></tr>
<tr class="memdesc:a8673f6877a73148a67de90726d77e01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new mj interface object.  <a href="classMJ__Interface.html#a8673f6877a73148a67de90726d77e01a">More...</a><br /></td></tr>
<tr class="separator:a8673f6877a73148a67de90726d77e01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af70216da714e571369d9d176571590a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#af70216da714e571369d9d176571590a6">updateSensorValues</a> ()</td></tr>
<tr class="memdesc:af70216da714e571369d9d176571590a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">update all the sensors value on the robot  <a href="classMJ__Interface.html#af70216da714e571369d9d176571590a6">More...</a><br /></td></tr>
<tr class="separator:af70216da714e571369d9d176571590a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a820f45e54c3d726aa5631c2acfcf6cbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a820f45e54c3d726aa5631c2acfcf6cbd">setMotorsTorque</a> (std::vector&lt; double &gt; &amp;tauIn)</td></tr>
<tr class="memdesc:a820f45e54c3d726aa5631c2acfcf6cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Motors Torque.  <a href="classMJ__Interface.html#a820f45e54c3d726aa5631c2acfcf6cbd">More...</a><br /></td></tr>
<tr class="separator:a820f45e54c3d726aa5631c2acfcf6cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac13217e183325898b7a7e184470562f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#ac13217e183325898b7a7e184470562f0">dataBusWrite</a> (<a class="el" href="structDataBus.html">DataBus</a> &amp;busIn)</td></tr>
<tr class="memdesc:ac13217e183325898b7a7e184470562f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">write the updated data to dataBus  <a href="classMJ__Interface.html#ac13217e183325898b7a7e184470562f0">More...</a><br /></td></tr>
<tr class="separator:ac13217e183325898b7a7e184470562f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a5e8510564e538fa386a818f6f96a5121"><td class="memItemLeft" align="right" valign="top"><a id="a5e8510564e538fa386a818f6f96a5121"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a5e8510564e538fa386a818f6f96a5121">jointNum</a> {0}</td></tr>
<tr class="memdesc:a5e8510564e538fa386a818f6f96a5121"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of joints <br /></td></tr>
<tr class="separator:a5e8510564e538fa386a818f6f96a5121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3323cee5ccf158f098d43752aa0c749c"><td class="memItemLeft" align="right" valign="top"><a id="a3323cee5ccf158f098d43752aa0c749c"></a>
std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a3323cee5ccf158f098d43752aa0c749c">motor_pos</a></td></tr>
<tr class="memdesc:a3323cee5ccf158f098d43752aa0c749c"><td class="mdescLeft">&#160;</td><td class="mdescRight">current motor position <br /></td></tr>
<tr class="separator:a3323cee5ccf158f098d43752aa0c749c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c2a122a4aa9542421e227e6c1722e3e"><td class="memItemLeft" align="right" valign="top"><a id="a2c2a122a4aa9542421e227e6c1722e3e"></a>
std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a2c2a122a4aa9542421e227e6c1722e3e">motor_pos_Old</a></td></tr>
<tr class="memdesc:a2c2a122a4aa9542421e227e6c1722e3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">last motor position <br /></td></tr>
<tr class="separator:a2c2a122a4aa9542421e227e6c1722e3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6b575d76a968ffdda312686be04b826"><td class="memItemLeft" align="right" valign="top"><a id="ad6b575d76a968ffdda312686be04b826"></a>
std::vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#ad6b575d76a968ffdda312686be04b826">motor_vel</a></td></tr>
<tr class="memdesc:ad6b575d76a968ffdda312686be04b826"><td class="mdescLeft">&#160;</td><td class="mdescRight">motor velocity <br /></td></tr>
<tr class="separator:ad6b575d76a968ffdda312686be04b826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d68e65d389ff62f9c7c95f786f094c"><td class="memItemLeft" align="right" valign="top"><a id="a62d68e65d389ff62f9c7c95f786f094c"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a62d68e65d389ff62f9c7c95f786f094c">rpy</a> [3] {0}</td></tr>
<tr class="memdesc:a62d68e65d389ff62f9c7c95f786f094c"><td class="mdescLeft">&#160;</td><td class="mdescRight">roll,pitch and yaw of baselink <br /></td></tr>
<tr class="separator:a62d68e65d389ff62f9c7c95f786f094c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14cefc3f8d3c18ed5b2c435ac7d959ea"><td class="memItemLeft" align="right" valign="top"><a id="a14cefc3f8d3c18ed5b2c435ac7d959ea"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a14cefc3f8d3c18ed5b2c435ac7d959ea">baseQuat</a> [4] {0}</td></tr>
<tr class="memdesc:a14cefc3f8d3c18ed5b2c435ac7d959ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">in quat, mujoco order is [w,x,y,z], here we rearrange to [x,y,z,w] <br /></td></tr>
<tr class="separator:a14cefc3f8d3c18ed5b2c435ac7d959ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67f241caf2e6ca0388154a2c578d624"><td class="memItemLeft" align="right" valign="top"><a id="ab67f241caf2e6ca0388154a2c578d624"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#ab67f241caf2e6ca0388154a2c578d624">f3d</a> [3][2] {0}</td></tr>
<tr class="memdesc:ab67f241caf2e6ca0388154a2c578d624"><td class="mdescLeft">&#160;</td><td class="mdescRight">3D foot-end contact force, L for 1st col, R for 2nd col <br /></td></tr>
<tr class="separator:ab67f241caf2e6ca0388154a2c578d624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91f7d6a50267e9ff1537328a40d68775"><td class="memItemLeft" align="right" valign="top"><a id="a91f7d6a50267e9ff1537328a40d68775"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a91f7d6a50267e9ff1537328a40d68775">basePos</a> [3] {0}</td></tr>
<tr class="memdesc:a91f7d6a50267e9ff1537328a40d68775"><td class="mdescLeft">&#160;</td><td class="mdescRight">position of baselink, in world frame <br /></td></tr>
<tr class="separator:a91f7d6a50267e9ff1537328a40d68775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80db73384f82c7fc7509a66e35df0a23"><td class="memItemLeft" align="right" valign="top"><a id="a80db73384f82c7fc7509a66e35df0a23"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a80db73384f82c7fc7509a66e35df0a23">baseAcc</a> [3] {0}</td></tr>
<tr class="memdesc:a80db73384f82c7fc7509a66e35df0a23"><td class="mdescLeft">&#160;</td><td class="mdescRight">acceleration of baselink, in body frame <br /></td></tr>
<tr class="separator:a80db73384f82c7fc7509a66e35df0a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a021529e1a992fa8c4151a3c61b952056"><td class="memItemLeft" align="right" valign="top"><a id="a021529e1a992fa8c4151a3c61b952056"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a021529e1a992fa8c4151a3c61b952056">baseAngVel</a> [3] {0}</td></tr>
<tr class="memdesc:a021529e1a992fa8c4151a3c61b952056"><td class="mdescLeft">&#160;</td><td class="mdescRight">angular velocity of baselink, in body frame <br /></td></tr>
<tr class="separator:a021529e1a992fa8c4151a3c61b952056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a515b7c4b0412a629fd8e2d8b7ff82012"><td class="memItemLeft" align="right" valign="top"><a id="a515b7c4b0412a629fd8e2d8b7ff82012"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a515b7c4b0412a629fd8e2d8b7ff82012">baseLinVel</a> [3] {0}</td></tr>
<tr class="memdesc:a515b7c4b0412a629fd8e2d8b7ff82012"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear velocity of baselink, in body frame <br /></td></tr>
<tr class="separator:a515b7c4b0412a629fd8e2d8b7ff82012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cde9d9e1ab09a14e228a5df57e327f7"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a5cde9d9e1ab09a14e228a5df57e327f7">JointName</a></td></tr>
<tr class="memdesc:a5cde9d9e1ab09a14e228a5df57e327f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">joint names list  <a href="classMJ__Interface.html#a5cde9d9e1ab09a14e228a5df57e327f7">More...</a><br /></td></tr>
<tr class="separator:a5cde9d9e1ab09a14e228a5df57e327f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e59db58240c350c3e5fdaa1addcc969"><td class="memItemLeft" align="right" valign="top"><a id="a6e59db58240c350c3e5fdaa1addcc969"></a>
const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a6e59db58240c350c3e5fdaa1addcc969">baseName</a> = &quot;base_link&quot;</td></tr>
<tr class="memdesc:a6e59db58240c350c3e5fdaa1addcc969"><td class="mdescLeft">&#160;</td><td class="mdescRight">baselink name <br /></td></tr>
<tr class="separator:a6e59db58240c350c3e5fdaa1addcc969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3e4c8f5df56bd3407a04c0ae6a15d79"><td class="memItemLeft" align="right" valign="top"><a id="aa3e4c8f5df56bd3407a04c0ae6a15d79"></a>
const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#aa3e4c8f5df56bd3407a04c0ae6a15d79">orientationSensorName</a> = &quot;baselink-quat&quot;</td></tr>
<tr class="memdesc:aa3e4c8f5df56bd3407a04c0ae6a15d79"><td class="mdescLeft">&#160;</td><td class="mdescRight">orientation sensor name <br /></td></tr>
<tr class="separator:aa3e4c8f5df56bd3407a04c0ae6a15d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e87c8106ed161dbb4533f20cc35057"><td class="memItemLeft" align="right" valign="top"><a id="ab5e87c8106ed161dbb4533f20cc35057"></a>
const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#ab5e87c8106ed161dbb4533f20cc35057">velSensorName</a> = &quot;baselink-velocity&quot;</td></tr>
<tr class="memdesc:ab5e87c8106ed161dbb4533f20cc35057"><td class="mdescLeft">&#160;</td><td class="mdescRight">velocity sensor name <br /></td></tr>
<tr class="separator:ab5e87c8106ed161dbb4533f20cc35057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e131e382abab397483dfe54045d07b"><td class="memItemLeft" align="right" valign="top"><a id="a47e131e382abab397483dfe54045d07b"></a>
const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a47e131e382abab397483dfe54045d07b">gyroSensorName</a> = &quot;baselink-gyro&quot;</td></tr>
<tr class="memdesc:a47e131e382abab397483dfe54045d07b"><td class="mdescLeft">&#160;</td><td class="mdescRight">gyroscope sensor name <br /></td></tr>
<tr class="separator:a47e131e382abab397483dfe54045d07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12b68aed8f3ca981ce80aae25d5c9073"><td class="memItemLeft" align="right" valign="top"><a id="a12b68aed8f3ca981ce80aae25d5c9073"></a>
const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMJ__Interface.html#a12b68aed8f3ca981ce80aae25d5c9073">accSensorName</a> = &quot;baselink-<a class="el" href="classMJ__Interface.html#a80db73384f82c7fc7509a66e35df0a23">baseAcc</a>&quot;</td></tr>
<tr class="memdesc:a12b68aed8f3ca981ce80aae25d5c9073"><td class="mdescLeft">&#160;</td><td class="mdescRight">acceleration sensor name <br /></td></tr>
<tr class="separator:a12b68aed8f3ca981ce80aae25d5c9073"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Mujoco interface controls the interaction between motion controller and mujoco simulation. </p>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8h_source.html#l00019">19</a> of file <a class="el" href="MJ__interface_8h_source.html">MJ_interface.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8673f6877a73148a67de90726d77e01a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8673f6877a73148a67de90726d77e01a">&#9670;&nbsp;</a></span>MJ_Interface()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MJ_Interface::MJ_Interface </td>
          <td>(</td>
          <td class="paramtype">mjModel *&#160;</td>
          <td class="paramname"><em>mj_modelIn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mjData *&#160;</td>
          <td class="paramname"><em>mj_dataIn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a new mj interface object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mj_modelIn</td><td>mujoco model pointer </td></tr>
    <tr><td class="paramname">mj_dataIn</td><td>mujoco data pointer </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8cpp_source.html#l00010">10</a> of file <a class="el" href="MJ__interface_8cpp_source.html">MJ_interface.cpp</a>.</p>

<p class="reference">References <a class="el" href="MJ__interface_8h_source.html#l00045">accSensorName</a>, <a class="el" href="MJ__interface_8h_source.html#l00041">baseName</a>, <a class="el" href="MJ__interface_8h_source.html#l00044">gyroSensorName</a>, <a class="el" href="MJ__interface_8h_source.html#l00034">JointName</a>, <a class="el" href="MJ__interface_8h_source.html#l00022">jointNum</a>, <a class="el" href="MJ__interface_8h_source.html#l00023">motor_pos</a>, <a class="el" href="MJ__interface_8h_source.html#l00024">motor_pos_Old</a>, <a class="el" href="MJ__interface_8h_source.html#l00025">motor_vel</a>, <a class="el" href="MJ__interface_8h_source.html#l00042">orientationSensorName</a>, and <a class="el" href="MJ__interface_8h_source.html#l00043">velSensorName</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac13217e183325898b7a7e184470562f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac13217e183325898b7a7e184470562f0">&#9670;&nbsp;</a></span>dataBusWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MJ_Interface::dataBusWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDataBus.html">DataBus</a> &amp;&#160;</td>
          <td class="paramname"><em>busIn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write the updated data to dataBus </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">busIn</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>shoule calling <a class="el" href="classMJ__Interface.html#af70216da714e571369d9d176571590a6" title="update all the sensors value on the robot">updateSensorValues()</a> first </dd></dl>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8cpp_source.html#l00085">85</a> of file <a class="el" href="MJ__interface_8cpp_source.html">MJ_interface.cpp</a>.</p>

<p class="reference">References <a class="el" href="MJ__interface_8h_source.html#l00030">baseAcc</a>, <a class="el" href="data__bus_8h_source.html#l00035">DataBus::baseAcc</a>, <a class="el" href="MJ__interface_8h_source.html#l00031">baseAngVel</a>, <a class="el" href="data__bus_8h_source.html#l00036">DataBus::baseAngVel</a>, <a class="el" href="MJ__interface_8h_source.html#l00032">baseLinVel</a>, <a class="el" href="data__bus_8h_source.html#l00034">DataBus::baseLinVel</a>, <a class="el" href="MJ__interface_8h_source.html#l00029">basePos</a>, <a class="el" href="data__bus_8h_source.html#l00033">DataBus::basePos</a>, <a class="el" href="MJ__interface_8h_source.html#l00028">f3d</a>, <a class="el" href="data__bus_8h_source.html#l00031">DataBus::fL</a>, <a class="el" href="data__bus_8h_source.html#l00032">DataBus::fR</a>, <a class="el" href="MJ__interface_8h_source.html#l00023">motor_pos</a>, <a class="el" href="MJ__interface_8h_source.html#l00025">motor_vel</a>, <a class="el" href="data__bus_8h_source.html#l00037">DataBus::motors_pos_cur</a>, <a class="el" href="data__bus_8h_source.html#l00038">DataBus::motors_vel_cur</a>, <a class="el" href="MJ__interface_8h_source.html#l00026">rpy</a>, <a class="el" href="data__bus_8h_source.html#l00030">DataBus::rpy</a>, and <a class="el" href="data__bus_8h_source.html#l00224">DataBus::updateQ()</a>.</p>

</div>
</div>
<a id="a820f45e54c3d726aa5631c2acfcf6cbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a820f45e54c3d726aa5631c2acfcf6cbd">&#9670;&nbsp;</a></span>setMotorsTorque()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MJ_Interface::setMotorsTorque </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>tauIn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the Motors Torque. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tauIn</td><td>the control torque of all the motors </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8cpp_source.html#l00080">80</a> of file <a class="el" href="MJ__interface_8cpp_source.html">MJ_interface.cpp</a>.</p>

<p class="reference">References <a class="el" href="MJ__interface_8h_source.html#l00022">jointNum</a>.</p>

</div>
</div>
<a id="af70216da714e571369d9d176571590a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af70216da714e571369d9d176571590a6">&#9670;&nbsp;</a></span>updateSensorValues()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MJ_Interface::updateSensorValues </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>update all the sensors value on the robot </p>
<p>these are joint sensors, orientation sensor, velocity sensor, gyroscope sensor, acceleration sensor and assumed position sensor </p>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8cpp_source.html#l00052">52</a> of file <a class="el" href="MJ__interface_8cpp_source.html">MJ_interface.cpp</a>.</p>

<p class="reference">References <a class="el" href="MJ__interface_8h_source.html#l00030">baseAcc</a>, <a class="el" href="MJ__interface_8h_source.html#l00031">baseAngVel</a>, <a class="el" href="MJ__interface_8h_source.html#l00032">baseLinVel</a>, <a class="el" href="MJ__interface_8h_source.html#l00029">basePos</a>, <a class="el" href="MJ__interface_8h_source.html#l00027">baseQuat</a>, <a class="el" href="MJ__interface_8h_source.html#l00022">jointNum</a>, <a class="el" href="MJ__interface_8h_source.html#l00023">motor_pos</a>, <a class="el" href="MJ__interface_8h_source.html#l00024">motor_pos_Old</a>, <a class="el" href="MJ__interface_8h_source.html#l00025">motor_vel</a>, and <a class="el" href="MJ__interface_8h_source.html#l00026">rpy</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a5cde9d9e1ab09a14e228a5df57e327f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cde9d9e1ab09a14e228a5df57e327f7">&#9670;&nbsp;</a></span>JointName</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;std::string&gt; MJ_Interface::JointName</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {<span class="stringliteral">&quot;J_arm_l_01&quot;</span>, <span class="stringliteral">&quot;J_arm_l_02&quot;</span>, <span class="stringliteral">&quot;J_arm_l_03&quot;</span>, <span class="stringliteral">&quot;J_arm_l_04&quot;</span>, <span class="stringliteral">&quot;J_arm_l_05&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_arm_l_06&quot;</span>, <span class="stringliteral">&quot;J_arm_l_07&quot;</span>, <span class="stringliteral">&quot;J_arm_r_01&quot;</span>, <span class="stringliteral">&quot;J_arm_r_02&quot;</span>, <span class="stringliteral">&quot;J_arm_r_03&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_arm_r_04&quot;</span>, <span class="stringliteral">&quot;J_arm_r_05&quot;</span>, <span class="stringliteral">&quot;J_arm_r_06&quot;</span>, <span class="stringliteral">&quot;J_arm_r_07&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_head_yaw&quot;</span>, <span class="stringliteral">&quot;J_head_pitch&quot;</span>, <span class="stringliteral">&quot;J_waist_pitch&quot;</span>, <span class="stringliteral">&quot;J_waist_roll&quot;</span>, <span class="stringliteral">&quot;J_waist_yaw&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_hip_l_roll&quot;</span>, <span class="stringliteral">&quot;J_hip_l_yaw&quot;</span>, <span class="stringliteral">&quot;J_hip_l_pitch&quot;</span>, <span class="stringliteral">&quot;J_knee_l_pitch&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_ankle_l_pitch&quot;</span>, <span class="stringliteral">&quot;J_ankle_l_roll&quot;</span>, <span class="stringliteral">&quot;J_hip_r_roll&quot;</span>, <span class="stringliteral">&quot;J_hip_r_yaw&quot;</span>,</div>
<div class="line">                                                <span class="stringliteral">&quot;J_hip_r_pitch&quot;</span>, <span class="stringliteral">&quot;J_knee_r_pitch&quot;</span>, <span class="stringliteral">&quot;J_ankle_r_pitch&quot;</span>, <span class="stringliteral">&quot;J_ankle_r_roll&quot;</span>}</div>
</div><!-- fragment -->
<p>joint names list </p>

<p class="definition">Definition at line <a class="el" href="MJ__interface_8h_source.html#l00034">34</a> of file <a class="el" href="MJ__interface_8h_source.html">MJ_interface.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="MJ__interface_8cpp_source.html#l00010">MJ_Interface()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="MJ__interface_8h_source.html">MJ_interface.h</a></li>
<li><a class="el" href="MJ__interface_8cpp_source.html">MJ_interface.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
